﻿Public Class frmEmpleosClientes
    Dim utilidades As New Utilidades
    Dim _titulo As String
    Dim _form As frmClientes
    Dim _sePresionoGuardar As Boolean = False
    Dim _tipoVentana As Integer
    Dim _componentesHabilitados As Boolean
    Public _idCliente As String
    Public _secuenciaEmpleo As String


    Public ID_CLIENTE1 As String
    Public NRO_SECUENCIA1 As String
    Public ORGANIZACION As String
    Public FECHA1 As String
    Public CARGO As String
    Public SALARIO As String
    Public ID_DIRECCION1 As String
    Public CALLE1 As String
    Public NRO As String
    Public PISO As String
    Public DEPTO As String
    Public ID_LOCALIDAD As String
    Public LOCALIDAD As String
    Public TELEFONO As String
    Public CONTACTO As String
    Public ID_TIPO_EMPLEO As String
    Public EMPLEO As String
    Public OBSERVACIONES As String



    Public Sub New(ByVal tipoVentana As Integer, ByRef form As frmClientes)
        Me.InitializeComponent()

        If tipoVentana = Constantes.Ventana_Tipo_Apertura_Nuevo Then
            Me.Text = "Nuevo Empleo"
            _componentesHabilitados = True
        End If
        If tipoVentana = Constantes.Ventana_Tipo_Apertura_Edicion Then
            Me.Text = "Modificar Empleo"
            _componentesHabilitados = True
        End If
        If tipoVentana = Constantes.Ventana_Tipo_Apertura_Detalle Then
            Me.Text = "Detalle de Empleo"
            _componentesHabilitados = False
        End If

        _form = form
        _tipoVentana = tipoVentana
    End Sub

    Private Sub frmEmpleosClientes_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If _sePresionoGuardar = False Then
            If MessageBox.Show("Si cancela no se guardarán los cambios ¿Está seguro?", "Atención", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.OK Then
                e.Cancel = False
            Else
                e.Cancel = True
            End If
        End If
    End Sub

    Private Sub frmEmpleosClientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim myAccesoDatos As New AccesoDatos

        myAccesoDatos.traer_valores_combo(Me.cmbTipoEmpleo, Constantes.Tabla_TIPOS_EMPLEOS)
        myAccesoDatos.traer_valores_combo_Area(Me.cmbLocalidad, Constantes.Tabla_AREAS_GEOGRAFICAS, Constantes.Tipo_Area_LOCALIDAD)

        If _tipoVentana = Constantes.Ventana_Tipo_Apertura_Nuevo Then
            ''Me.cargarDatosNuevoEmpleo()
        End If
        If _tipoVentana = Constantes.Ventana_Tipo_Apertura_Edicion Then
            Me.cargarDatosEmpleo()
        End If
        If _tipoVentana = Constantes.Ventana_Tipo_Apertura_Detalle Then
            Me.cargarDatosEmpleo()
            habilitacionComponentesDetalle()
        End If

        Me.mostrarBotones()

    End Sub

    Private Sub cargarDatosEmpleo()
        'Dim myAccesoDatos As New AccesoDatos
        'Dim tablaDB As New Data.DataTable
        'Dim consulta As String
        'consulta = "SELECT E.ID_CLIENTE AS ID_CLIENTE, E.NRO_SECUENCIA AS NRO_SECUENCIA, E.NOMBRE_ORGANIZACION AS ORGANIZACION, " & _
        '                        "CONVERT(VARCHAR(10),E.FECHA_INCORPORACION, 103) AS FECHA, E.CARGO AS CARGO," & _
        '                         "CONVERT(int, floor(E.SALARIO_NETO))  AS SALARIO,  " & _
        '                        "E.ID_DIRECCION AS ID_DIRECCION, D.CALLE AS CALLE, D.NUMERO AS NRO,D.PISO AS PISO, D.DEPTO AS DEPTO," & _
        '   "D.ID_LOCALIDAD AS ID_LOCALIDAD,AG.DESCRIPCION  AS LOCALIDAD, E.TELEFONO AS TELEFONO, E.PERSONA_CONTACTO AS CONTACTO, " & _
        '   "E.ID_TIPO_EMPLEO AS ID_TIPO_EMPLEO, TE.DESCRIPCION AS EMPLEO, E.OBSERVACIONES " & _
        '"FROM EMPLEOS_CLIENTES E INNER JOIN DIRECCIONES D ON (E.ID_DIRECCION = D.ID) " & _
        '      "INNER JOIN AREAS_GEOGRAFICAS AG ON (D.ID_LOCALIDAD = AG.ID )" & _
        '      "INNER JOIN TIPOS_EMPLEOS TE ON (E.ID_TIPO_EMPLEO =TE.ID ) " & _
        '"WHERE E.ID_CLIENTE = " & _idCliente & _
        '" AND E.NRO_SECUENCIA = " & _secuenciaEmpleo

        'tablaDB = myAccesoDatos.ejecutarConsulta(consulta)

        'Me.txtNombreOrganizacion.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(2))
        'Me.txtCargo.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(4))
        'Me.txtFechaIngreso.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(3))
        'Me.txtCalle.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(7))
        'Me.txtNumeroCalle.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(8))
        'Me.txtPiso.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(9))
        'Me.txtDepartamento.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(10))
        'Me.txtContacto.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(14))
        'Me.txtTelefonoContacto.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(13))
        'Me.txtObservaciones.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(17))
        'Me.txtSalarioNeto.Text = Convert.ToString(tablaDB.Rows.Item(0).Item(5))

        'Me.cmbLocalidad.SelectedValue = Convert.ToString(tablaDB.Rows.Item(0).Item(11))
        'Me.cmbTipoEmpleo.SelectedValue = Convert.ToString(tablaDB.Rows.Item(0).Item(15))

        'ID_DIRECCION1 = Convert.ToString(tablaDB.Rows.Item(0).Item(6))


        Me.txtNombreOrganizacion.Text = ORGANIZACION
        Me.txtCargo.Text = CARGO
        Me.txtFechaIngreso.Text = FECHA1
        Me.txtCalle.Text = CALLE1
        Me.txtNumeroCalle.Text = NRO
        Me.txtPiso.Text = PISO
        Me.txtDepartamento.Text = DEPTO
        Me.txtContacto.Text = CONTACTO
        Me.txtTelefonoContacto.Text = TELEFONO
        Me.txtObservaciones.Text = OBSERVACIONES
        Me.txtSalarioNeto.Text = SALARIO

        Me.cmbLocalidad.SelectedValue = Convert.ToString(ID_LOCALIDAD)
        Me.cmbTipoEmpleo.SelectedValue = Convert.ToString(ID_TIPO_EMPLEO)
    End Sub

    Private Sub cmdAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAceptar.Click
        _sePresionoGuardar = True
        Me.Close()
    End Sub

    Private Sub mostrarBotones()
        Me.cmdAceptar.Visible = (Not _componentesHabilitados)
        Me.cmdGuardar.Visible = _componentesHabilitados
        Me.cmdCancelar.Visible = _componentesHabilitados
    End Sub

    Private Sub txtFechaIngreso_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFechaIngreso.KeyPress
        utilidades.validarKeyPressNumerico(e)
    End Sub

    Private Sub txtNumeroCalle_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNumeroCalle.KeyPress
        utilidades.validarKeyPressNumerico(e)
    End Sub

    Private Sub txtSalarioNeto_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSalarioNeto.KeyPress
        utilidades.validarKeyPressNumerico(e)
    End Sub

    Private Sub cmdCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancelar.Click
        _sePresionoGuardar = False
        Me.Close()
    End Sub

    Private Sub cmdGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGuardar.Click
        If Me.txtNombreOrganizacion.Text.Trim = "" Then
            MsgBox("El nombre de la Organización es requerido.", vbOKOnly + vbCritical, "Atención")
            Me.txtNombreOrganizacion.Focus()
            Exit Sub
        End If

        If Me.cmbTipoEmpleo.SelectedValue < 1 Then
            MsgBox("El tipo de Empleo es requerido.", vbOKOnly + vbCritical, "Atención")
            cmbTipoEmpleo.Focus()
            Exit Sub
        End If

        If Me.txtCargo.Text.Trim = "" Then
            MsgBox("El cargo es requerido.", vbOKOnly + vbCritical, "Atención")
            Me.txtCargo.Focus()
            Exit Sub
        End If
        If Me.txtSalarioNeto.Text.Trim = "" Then
            MsgBox("El salario neto es requerido.", vbOKOnly + vbCritical, "Atención")
            Me.txtSalarioNeto.Focus()
            Exit Sub
        End If
        If Me.txtFechaIngreso.Text.Trim = "/  /" Then
            MsgBox("La Fecha de ingreso es requerida.", vbOKOnly + vbCritical, "Atención")
            Me.txtFechaIngreso.Focus()
            Exit Sub
        End If
        If Not IsDate(txtFechaIngreso.Text.Trim) Then
            MsgBox("Fecha de Ingreso Inválida.", vbOKOnly + vbCritical, "Atención")
            txtFechaIngreso.Focus()
            Exit Sub
        End If
        If Me.txtCalle.Text.Trim = "" Then
            MsgBox("La Calle es requerida.", vbOKOnly + vbCritical, "Atención")
            Me.txtCalle.Focus()
            Exit Sub
        End If
        If Me.cmbLocalidad.SelectedIndex < 1 Then
            MsgBox("La localidad es requerida.", vbOKOnly + vbCritical, "Atención")
            cmbLocalidad.Focus()
            Exit Sub
        End If
        If Me.txtContacto.Text.Trim = "" Then
            MsgBox("El Contacto es requerido.", vbOKOnly + vbCritical, "Atención")
            Me.txtContacto.Focus()
            Exit Sub
        End If
        If Me.txtTelefonoContacto.Text.Trim = "" Then
            MsgBox("El Teléfono es requerido.", vbOKOnly + vbCritical, "Atención")
            Me.txtTelefonoContacto.Focus()
            Exit Sub
        End If


        ID_CLIENTE1 = _idCliente
        NRO_SECUENCIA1 = _secuenciaEmpleo
        ORGANIZACION = Me.txtNombreOrganizacion.Text.Trim
        FECHA1 = Me.txtFechaIngreso.Text.Trim
        CARGO = Me.txtCargo.Text.Trim
        SALARIO = Me.txtSalarioNeto.Text.Trim
        ''ID_DIRECCION1
        CALLE1 = Me.txtCalle.Text.Trim
        NRO = Me.txtNumeroCalle.Text.Trim
        PISO = Me.txtPiso.Text.Trim
        DEPTO = Me.txtDepartamento.Text.Trim
        ID_LOCALIDAD = cmbLocalidad.SelectedValue
        LOCALIDAD = cmbLocalidad.Text.Trim
        TELEFONO = Me.txtTelefonoContacto.Text.Trim
        CONTACTO = Me.txtContacto.Text.Trim
        ID_TIPO_EMPLEO = Me.cmbTipoEmpleo.SelectedValue
        EMPLEO = Me.cmbTipoEmpleo.Text.Trim
        OBSERVACIONES = Me.txtObservaciones.Text.Trim

        If _form.existeEmpleo(CARGO, ORGANIZACION, NRO_SECUENCIA1) = False Then
            Me._form.actualizarGrillaEmpleos(ID_CLIENTE1, NRO_SECUENCIA1, ORGANIZACION, _
                FECHA1, CARGO, SALARIO, ID_DIRECCION1, CALLE1, NRO, PISO, DEPTO, ID_LOCALIDAD, LOCALIDAD, _
                TELEFONO, CONTACTO, ID_TIPO_EMPLEO, EMPLEO, OBSERVACIONES, _tipoVentana)
            _sePresionoGuardar = True
            Me.Close()
        Else
            MsgBox("El Empleo ya existe.", vbOKOnly + vbCritical, "Atención")
        End If

        
    End Sub

    Private Sub txtPiso_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPiso.KeyPress
        utilidades.validarKeyPressNumerico(e)
    End Sub

    Private Sub habilitacionComponentesDetalle()
        Me.lblAsterisco.Enabled = False
        Me.lblDatosRequeridos.Enabled = False
        Me.Label95.Enabled = False
        Me.Label71.Enabled = False
        Me.Label79.Enabled = False
        Me.Label75.Enabled = False
        Me.Label70.Enabled = False
        Me.Label84.Enabled = False
        Me.Label88.Enabled = False
        Me.Label89.Enabled = False
        Me.Label90.Enabled = False

        Me.txtNombreOrganizacion.Enabled = False
        Me.txtCargo.Enabled = False
        Me.txtFechaIngreso.Enabled = False
        Me.txtSalarioNeto.Enabled = False
        Me.txtCalle.Enabled = False
        Me.txtNumeroCalle.Enabled = False
        Me.txtPiso.Enabled = False
        Me.txtDepartamento.Enabled = False
        Me.txtContacto.Enabled = False
        Me.txtTelefonoContacto.Enabled = False
        Me.txtObservaciones.Enabled = False

        Me.cmbLocalidad.Enabled = False
        Me.cmbTipoEmpleo.Enabled = False
    End Sub

End Class